/*! \file   methodcode.h
	\author HiddenSeeker

	Describes a method attributed data
 */
#include "attrinfo.h"
#include <vector>
/*! A method attributed data
 */
class MethodCode
{
 public:
		//Method, that should be compiled and other methods should reference it
		AttrInfo       CompilingMethod;
		unsigned short CompilingMethodRef;

		//Formal arguments count, used for method referencing
		unsigned short FormalArgumentCount;

		//Total local arguments count
		unsigned short TotalLocalArguments;

		//Methods, that reference it if needed
		std::vector<AttrInfo> ReferencingMethods;

		//If method has a result
		bool HasResult;
		unsigned char     ResultIndex;

		unsigned short    Code;
		//Signature constant, if needed (INVALID_CONSTANT if not)
		unsigned short    Signature;
		unsigned short    SignatureDescriptor;

		
};